Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

865
Visualizações
Express post not receive JSON data [close]

I have this problem because I am sending data via JavaScript using XMLHttpRequest but not receiving it in node.js express post method. I don't know what I'm doing wrong.

My script - funcion form execute on window load

function form() {
  const btn = document.getElementById("save-data");
  let currentPage = window.location.href.split("/").at(-1);

  function sendData(data) {
    const XHR = new XMLHttpRequest();
    XHR.open("POST", window.location.href);
    XHR.setRequestHeader("Content-Type", "application/json");
    console.log(data); // I get right data
    XHR.send(data);
  }

  btn.addEventListener("click", () => {
    switch (currentPage) {
      case "settings":
        const prefix = document.getElementById("prefix").value;
        let buttonState = document.getElementById("module-state");

        if (buttonState.hasAttribute("enable")) {
          buttonState = "enable";
        } else {
          buttonState = "disable";
        }

        sendData({
          prefix: prefix,
          buttonState: buttonState,
          announcements: {
            giveawayChannelID: 123,
            updateChannelID: 123,
          },
        });
    }
  });
}

My Node.js code

router.post('/:id/settings', (req, res) => {
   console.log(req.body) // {}
})

Pleas help.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

You need to install body-parser package by NPM, and require it in your code

Try

npm i body-parser

Then in your main node script, require it

const bodyParser = require('body-parser');

after that, you should set it as a middleware for express

app.use(bodyParser.json()); //Handles JSON requests
app.use(bodyParser.urlencoded({ extended: false })); //Handles normal post requests

after these steps, you can access values like req.body.value

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda